package com.simpou.commons.utils.exception.model;


import lombok.AllArgsConstructor;
import lombok.Getter;


/**
 * Tipo da exceção de negócio básico. Uma mensagem textual define qual regra de
 * negócio foi violada.
 *
 * @see BusinessException
 * @author Jonas Pereira
 * @since 2012-05-17
 * @version 2013-05-31
 */
@AllArgsConstructor
public class BasicRuleViolation implements RuleViolation {
    /**
     * Mensagem descritiva da regra de negócio violada.
     */
    @Getter
    private final String msg;

    public BasicRuleViolation(final Throwable throwable) {
        this.msg = (throwable.getMessage() == null)
            ? throwable.getCause().getMessage() : throwable.getMessage();
    }

    @Override
    public String getType() {
        return null;
    }
}
